package com.lyq.database;

import com.lyq.bean.mySql.MysqlLinking;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

public class UpdateCourseTimeData {
    public static void main(String[] args) {
        // 创建数据库连接
        MysqlLinking mysqlLinking = new MysqlLinking();
        mysqlLinking.getLink();
        Connection conn = MysqlLinking.conn;
        
        if (conn != null) {
            System.out.println("数据库连接成功！");
            
            // 定义课程时间更新映射
            Map<String, String> courseTimes = new HashMap<>();
            courseTimes.put("CS101", "星期一 1-2节, 星期三 3-4节");
            courseTimes.put("CS102", "星期二 1-2节, 星期四 3-4节");
            courseTimes.put("CS103", "星期五 1-2节, 星期六 3-4节");
            courseTimes.put("CS104", "星期一 3-4节, 星期四 1-2节");
            courseTimes.put("CS105", "星期二 3-4节, 星期五 1-2节");
            courseTimes.put("MATH201", "星期三 1-2节, 星期六 1-2节");
            courseTimes.put("MATH202", "星期一 5-6节, 星期三 7-8节");
            courseTimes.put("ENG101", "星期二 5-6节, 星期四 7-8节");
            courseTimes.put("PHYS301", "星期五 5-6节, 星期六 7-8节");
            courseTimes.put("PHYS302", "星期一 7-8节, 星期四 5-6节");
            courseTimes.put("CHEM401", "星期三 5-6节, 星期五 7-8节");
            courseTimes.put("HIST201", "星期一 9-10节, 星期二 9-10节");
            courseTimes.put("ECON301", "星期四 9-10节, 星期五 9-10节");
            courseTimes.put("PSY401", "星期二 7-8节, 星期六 5-6节");
            courseTimes.put("HUM101", "星期三 9-10节, 星期日 1-2节");
            courseTimes.put("INNO201", "星期四 11-12节, 星期六 9-10节");
            courseTimes.put("ART501", "星期一 11-12节, 星期日 3-4节");
            
            // 更新课程时间
            String sql = "UPDATE course SET C_Time = ? WHERE C_No = ?";
            
            try {
                PreparedStatement ps = conn.prepareStatement(sql);
                int count = 0;
                
                for (Map.Entry<String, String> entry : courseTimes.entrySet()) {
                    ps.setString(1, entry.getValue());
                    ps.setString(2, entry.getKey());
                    int rows = ps.executeUpdate();
                    if (rows > 0) {
                        System.out.println("已更新课程 " + entry.getKey() + " 的时间为: " + entry.getValue());
                        count++;
                    }
                }
                
                ps.close();
                System.out.println("总共更新了 " + count + " 门课程的时间信息！");
                
                // 关闭数据库连接
                conn.close();
                System.out.println("数据库连接已关闭。");
            } catch (SQLException e) {
                System.err.println("更新课程时间时发生错误: " + e.getMessage());
                e.printStackTrace();
            }
        } else {
            System.err.println("数据库连接失败！");
        }
    }
}